A portion of the disclosure recited in the specification contains material which is subject to copyright protection. Specifically, a Microfiche Appendix in accordance with 37 CFR Section 1.96 is included that lists source code instructions for a process by which the present invention is practiced in a computer system. The Microfiche Appendix comprises 13 sheets of microfiche containing 1180 frames, or pages, of source code. The copyright owner has no objection to the facsimile reproduction of the specification as filed in the Patent and Trademark Office. Otherwise all copyright rights are reserved.
This invention relates in general to computer software and, more specifically, to a system that allows the creation of a demonstration presentation of computer software, or other computer information.
Today, computer software application programs are an important, and prevalent, product. Computer software is used in virtually every facet of our lives including business, commerce, education and entertainment. Software has proven to be very popular and effective in performing in a wide variety of applications.
However, as computing resources and power have increased, so has the size and complexity of software programs. In order to allow human users to effectively operate these more complex application programs, sophisticated graphical user interfaces (GUIs) have been developed. Naturally, this increased complexity and sophistication requires that a new user spend considerable time learning, or being trained in, the operation of the software. Traditionally, such training has occurred on a person-to-person basis. As, for example, where an instructor and trainees meet face-to-face in a classroom. The use of written manuals, prerecorded videotapes, audiotapes, etc. are also an aid to new users"" understanding of software applications. However, these traditional approaches to training in computer programs leaves something to be desired.
For example, considerable time and effort is required in instructor training and preparation; writing, publishing and maintaining effective references (either electronic or hard copy); producing a video or audiotape, etc. Also, these traditional approaches tend to be insufficient to support a new user""s ongoing need for instruction in the software application. This is particularly true where, as with today""s software, a user is constantly exposed to new features in the program, or needs to know of a new feature, and thus requires immediate instruction. Often manuals are unwieldy and difficult to index and access. Other media, such as video and audiotape, does not provide an effective means for obtaining the training information. Further, these traditional methods are not convenient for a user to access while the user is operating the application program and is suddenly struck with a problem or faced with a question.
Although xe2x80x9con-line helpxe2x80x9d forms of information have become popular, on-line help has much of the same characteristics as traditional manuals, providing only slight advantages over hard copy manuals by allowing searches. Although electronic on-line help is immediately accessible at a user""s computer, the online help tends to be xe2x80x9cstatic,xe2x80x9d in that the electronic manuals mimic a hardcopy presentation of information in the form of pages of text along with illustrations.
A problem with on-line help, or electronic manuals, is that reference to the complex user interface controls and displays is purely by way of text. Often a user is directed through many steps in a confusing way. For example, a user may be asked to xe2x80x9copen Window B, click on button X, pull down menu Y, highlight item Z, and enter a number into the resulting dialog box.xe2x80x9d At each of the steps in the previous instruction, the user""s display may change as the user operates the GUI so that the user must hunt for the next item to be selected, or activated. This can be confusing to the user as the user attempts to correlate a text description with visual controls that are spread out over the screen and may reappear, disappear or change. At any step in the way, the user is prone to making a mistake and heading down the wrong path. The user may not realize that they have taken the wrong path until a few steps have passed. In this case the user is unaware of exactly where the wrong step was taken.
Electronic manuals often include xe2x80x9cscreen shots,xe2x80x9d or still pictures of the user interface, which are included adjacent to text in the electronic manual. While this helps improve a user""s understanding of how to operate the user interface, it is still a static representation of the user interface that requires association of text in separate paragraphs to the image being presented. In such static presentation the user fails to get a feel for how the user interface is actually being operated. Also, it is not trivial for an author to compile such a manual by writing text, obtaining screen shots, inserting the screen shots into the text, correlating the screen shots to the text, etc.
Thus, it desirable to provide a product that allows an author to easily create presentations that are dynamic, and effective, in presenting information, such as the operation of a computer application program.
The rise in popularity of the Internet as a distribution and commerce medium for software and other digital information has also given rise to a greater need for effective presentation of information. One such need is the need to demonstrate the features, aspects and functionality of computer software to potential users, or purchasers. This is necessitated by the Internet since, unlike walking into a store and speaking with a salesman, purchasers over the Internet may have to make a buying decision without being able to operate a fully functional version of the software. Another use for such presentations is to assist users in running their current application programs, operating systems, utilities, etc. Again, because of the complexity in the application programs, and their GUIs, the need for a detailed, and precise, presentation of the steps, and operation, of the software is of vital importance.
Thus, it is desirable to provide a product that allows the creation of effective and efficient presentation of application programs, operating systems, utilities, and other computer information in a simple way. It is desirable for the resulting presentation to be compact and viewable without specialized programs. This is especially true where such presentations may be transferred over, downloaded, or otherwise obtained from networks of restricted bandwidth, such as the Internet.
Another recently emerging aspect of software in general, and of the Internet in particular, is advertising. Ads designed to sell products or services is a fast-growing aspect of electronic commerce (E-commerce). Typically, such ads take the form of xe2x80x9cbannersxe2x80x9d on Web pages which are viewable when a user is on-line and viewing a Web page that includes a banner ad.
Another aspect of Internet e-commerce is in the method of distribution, marketing and sale of computer software. Such approaches as xe2x80x9cshareware,xe2x80x9d xe2x80x9cdemoware,xe2x80x9d xe2x80x9ctrialware,xe2x80x9d etc., are designed to allow users to experience a software product before purchasing the product. Typically, these approaches allow a user to operate a software product for a limited amount of time, or allow a user to operate a software product that has less than the full feature set. However, users will often use the product through the free trial period and then not purchase the product. Additionally, some users may continuously download new copies of the time-limited product so that they can continue using the product without paying. Still another problem is that such time restrictions are relatively easy to defeat for xe2x80x9chackersxe2x80x9d who might modify the software, system timer, operating system, etc. Similarly, in the approach where some features of the software product are disabled, users may continue to use the software without being hampered too much by the disabled features. This allows a user to essentially use the software for free, indefinitely. Also, this type of software is still susceptible to hacking.
Thus, it is desirable to provide a revenue model for software manufacturers whereby users can obtain use of software while the manufacturer is assured of some revenue return.
The present invention provides a system for easily producing presentations of computer application programs. The system also provides for including advertising information in the produced presentations when an unpaid-for version of the system""s software is being used. When the presentation is viewed online, the ads can be updated by a central ad server. This allows different ads to be inserted into the presentation, tailoring ads to the viewer, etc. When the presentation is viewed offline, default ads are kept in the presentation.
The system provides authoring software for creating a sequence of screenshot images of an application program to be presented. Each screenshot is a slide in the presentation and is displayed for an interval of time during playback of the presentation. The authoring software also allows an author to control cursor movement animation to be played back during the presentation. Text description in the form of xe2x80x9cbubble text,xe2x80x9d xe2x80x9cmemo text,xe2x80x9d xe2x80x9cquestions,xe2x80x9d etc. can be specified along with the position, size and other properties of the text. Various controls are provided for selection, editing, arrangement of the slides. Characteristics such as cursor shape, speed of movement, starting and ending positions, alignment, etc. can be set by the author.
The author can specify a xe2x80x9cclick areaxe2x80x9d in association with a question, or prompt, to the viewer of the presentation. This allows the presentation to ask the viewer to click on a button or control on a slide and to detect whether the viewer has complied. In response, additional feedback can be provided to the viewer as to whether the proper action was performed or not.
After an author completes a sequence, the sequence is compressed into a small self-contained package. In a preferred embodiment, the package includes two files that can be played back without any dedicated engine or specialized application that could require a separate download. A typical user with a web browser can quickly obtain a presentation from the Internet and play back the presentation instantly.
In one embodiment the invention provides a method for using a computer system to create a presentation of subject matter. The method includes generating a first screen display of the subject matter; storing at least a portion of the first screen display along with the cursor position at the time of storing; generating a second screen display of the subject matter; storing at least a portion of the second screen display along with the cursor position at the time of storing; displaying the stored portion of the first screen display along with a display of both cursor positions; and accepting signals from the user input device to allow manipulation of the cursor position to specify cursor animation during playback of the presentation.
Another aspect of the invention provides a system for including advertising in a presentation of information on a computer. The system provides for using an authoring program to generate a presentation for playback on a computer system; inserting a link to an advertisement source into the presentation; and displaying an advertisement obtained from the advertisement source during playback of the presentation.